import pymysql


class mysql:


    def __init__(self):
        # 创建链接,连接数据库（服务器地址、端口号、用户名、密码、数据库名称、编码格式）
        self.conn = pymysql.connect(
            host="",
            port=3306,
            user='',
            passwd='',
            db='',
            charset='utf8mb4')
        data = self.select_one("select 1")
        print("数据库连接成功" if (data['1'] == 1) else "数据库连接失败")


    def select_one(self, sql):
        try:
            # 使用cursor()方法获取一个游标(查询数据返回为元组格式)
            cursor = self.conn.cursor(pymysql.cursors.DictCursor)
            # 执行sql语句中查询版本信息的方法
            cursor.execute(sql)
            data = cursor.fetchone()
            return data
        except Exception as e:
            print("select_one: " +"sql: "+sql +" err: " +str(e))
        finally:
            # 关闭游标
            cursor.close()

    def select_all(self, sql):
        try:
            # 使用cursor()方法获取一个游标(查询数据返回为元组格式)
            cursor = self.conn.cursor(pymysql.cursors.DictCursor)
            # 执行sql语句中查询版本信息的方法
            cursor.execute(sql)
            data = cursor.fetchall()
            return data
        except Exception as e:
            print("select_one: " +"sql: "+sql +" err: " +str(e))
        finally:
            # 关闭游标
            cursor.close()

    def close(self):
        try:
            # 关闭链接
            self.conn.close()
            print("数据库关闭成功")
        except Exception as e:
            print("数据库关闭失败")
